.circular-progress {
	width: 80px;
	height: 80px;
	line-height: 80px;
	position: relative;
}

.circular-progress:after {
	content: "";
	width: 100%;
	height: 100%;
	border-radius: 50%;
	border: 7px solid var(--gray-200);
	position: absolute;
	top: 0;
	left: 0;
}

.circular-progress > span {
	width: 50%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: 0;
	z-index: 1;
}

.circular-progress .progress-left {
	left: 0;
}

.circular-progress .progress-bar {
	width: 100%;
	height: 100%;
	background: none;
	border-width: 6px;
	border-style: solid;
	position: absolute;
	top: 0;
}

.circular-progress .progress-left .progress-bar {
	left: 100%;
	border-top-right-radius: 80px;
	border-bottom-right-radius: 80px;
	border-left: 0;
	-webkit-transform-origin: center left;
	transform-origin: center left;
}

.circular-progress .progress-right {
	right: 0;
}

.circular-progress .progress-right .progress-bar {
	left: -100%;
	border-top-left-radius: 80px;
	border-bottom-left-radius: 80px;
	border-right: 0;
	-webkit-transform-origin: center right;
	transform-origin: center right;
	animation: loading-1 0.8s linear forwards;
}

.circular-progress .progress-value {
	width: 100%;
	height: 100%;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	position: absolute;
}

.circular-progress .progress-left .progress-bar {
	animation: loading-2 0.5s linear forwards 0.8s;
}

@keyframes loading-1 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(var(--deg-right));
		transform: rotate(var(--deg-right));
	}
}

@keyframes loading-2 {
	0% {
		-webkit-transform: rotate(0deg);
		transform: rotate(0deg);
	}
	100% {
		-webkit-transform: rotate(var(--deg-left));
		transform: rotate(var(--deg-left));
	}
}
